Bluetooth has attracted attentions recently as wireless communication means for short distances, and various devices conforming thereto have been developed and marketed.
Bluetooth is a wireless communication standard standardized by a Bluetooth SIG (special interest group), and uses the 2.4 GHz band (IMS (industrial science medical) band) for communication with other devices having Bluetooth modules.
Networks employing Bluetooth are called Piconets or Scatternets according to their forms. A Scatternet is formed by connecting a plurality of Piconets mutually. In each network, there are Bluetooth devices which play roles called a master and a slave. Hereinafter, if necessary, a Bluetooth device which plays the role of a master is called a master, and a Bluetooth device which plays the role of a slave is called a slave.
FIG. 1 is a view showing the concept of Piconets and a Scatternet.
As shown in FIG. 1, in each Piconet, there is one master, and a slave or a plurality of slaves perform communication under the control of the master. In this example case, Piconet 1 is formed of a master 1, a slave 1-1, and a slave 1-2, and Piconet 2 is formed of a master 2 and a slave 2-1.
A Scatternet is formed when Piconet 1 and Piconet 2 are mutually connected. In FIG. 1, a communication link between Piconet 1 and Piconet 2 is disabled.
To form such Piconets to transmit and receive various pieces of information, it is necessary for all Bluetooth devices in the Piconets to establish synchronization in the frequency domain and the time domain.
Synchronization in the frequency and time domains will be described.
In Bluetooth, a master, for example, sends a signal to a slave at a frequency width of 79 MHz. The master does not occupy the entire frequency width of 79 MHz at the same time to send information, but sends information by changing (hopping) the transmission frequency of the information at random at an frequency-width interval of 1 MHz.
The receiving slave establishes synchronization with the transmission frequency of the master, hopped at random, to change the receiving frequency, if necessary, to receive the information sent from the master.
The patterns of the frequencies changed by the master and the slave are called frequency-hopping patterns. When the master and the slave share a frequency-hopping pattern, synchronization in the frequency domain is established.
In Bluetooth, time-division multiplexing is applied to a communication path (channel) between the master and each slave at a time interval of 625 μs in order to allow communication between the master and a plurality of slaves. This time interval of 625 μs is called a time slot. When the time slot is shared, synchronization in the time domain is established.
As described later in detail, each of all slaves calculates a frequency-hopping pattern for establishing synchronization in the frequency domain, according to the Bluetooth address of the master, and adds an offset to the Bluetooth clock managed by the slave, according to the Bluetooth clock of the master to obtain the timing of the time-slot for establishing synchronization in the time domain.
Each Bluetooth device has a unique 48-bit Bluetooth address, and a frequency-hopping pattern is uniquely calculated according to the address. Each of all Bluetooth devices manages its own Bluetooth clock.
Therefore, before a Piconet is formed, various pieces of information, including the Bluetooth address and the Bluetooth clock used for establishing synchronization in the frequency domain and the time domain, are transmitted and received between the master and slaves.
Conventional processing of a Bluetooth device for establishing synchronization in the frequency domain and the time domain and for forming a Piconet will be described next by referring to flowcharts shown in FIG. 2 and FIG. 3.
A description will be made for processing for establishing synchronization among the master 1, the slave 1-1, and the slave 1-2 shown in FIG. 1, and for forming Piconet 1. Packets to be transmitted and received will be described later in detail. The entire flow will be described here.
In step S1, the master 1 broadcasts an IQ (inquiry) packet to detect a slave(s) existing therearound.
As shown in FIG. 1, for example, when there exist the slave 1-1 and the slave 1-2 in a vicinity of the master 1, the slave 1-1 receives in step S31 the IQ packet sent from the master 1, the processing proceeds to step S32, and the slave 1-1 sends a packet (FHS packet) indicating its own attribute information to the master.
In the same way, when the slave 1-2 receives the IQ packet in step S51, the processing proceeds to step S52, and the slave 1-2 sends an FHS packet to the master.
FHS packets sent from slaves to the master include the Bluetooth address and the Bluetooth clock of each slave, as slave attribute information.
The master 1 receives in step S2 the FHS packet sent from the slave 1-1, and receives in step S3 the FHS packet sent from the slave 1-2.
A series of processes from broadcasting an IQ packet to receiving an FHS packet sent in response to the IQ packet, performed by the master, and a series of processes from receiving a sent IQ packet to sending an FHS packet in response to the IQ packet, performed by slaves, are called an “inquiry”.
In step S4, the master 1 sends an ID packet generated according to the FHS packet received in step S2, to the slave 1-1.
When the slave 1-1 receives the ID packet in step S33, the processing proceeds to step S34, and the slave 1-1 sends the same ID packet as that received, to the master 1 to report that packet transmission and receiving are possible.
When the master 1 receives in step S5 the ID packet sent from the slave 1-1, the processing proceeds to step S6, and the master 1 sends an FHS packet to the slave 1-1 to report the Bluetooth address and the Bluetooth clock of the master 1 as attribute information to the slave 1-1.
In step S35, the slave 1-1 receives the FHS packet from the master 1. With this, the master 1 and the slave 1-1 have mutually exchanged their Bluetooth addresses and Bluetooth clock, which are required to establish synchronization in the Piconet.
In step S36, the slave 1-1 sends an ID packet to the master 1 to report that the FHS packet has been received.
In step S37, the slave 1-1 establishes synchronization with the master 1 according to the Bluetooth address and the Bluetooth clock sent from the master 1. Processing of a slave for establishing synchronization according to information reported by the master will be described later in detail.
When the master 1 receives the report from the slave 1-1 in step S7, the processing proceeds to step S8, and, immediately after the master 1 has transmitted and received the FHS packets and the ID packets to and from the slave 1-1, the master 1 transmits and receives FHS packets and ID packets to and from the slave 1-2. In other words, the processes of step SB to step S11 performed by the master 1 and the processes of step S53 to step S57 performed by the slave 1-2 are the same as the processes of step S4 to step S7 and the processes of step S33 to step S37, described above.
More specifically, the master 1 sends an ID packet to the slave 1-2 in step S8, and in response to this transmission, the slave 1-2 sends an ID packet to report that the ID packet sent by the master 1 has been received. Then, the master 1 sends an FHS packet to the slave 1-2 in step S10 to report its own attribute information.
When the slave 1-2 receives the FHS packet from the master 1 in step S55, the processing proceeds to step S56, and the slave 1-2 sends an ID packet to the master 1. In step S57, the slave 1-2 establishes synchronization with the master 1 according to the Bluetooth address and Bluetooth clock reported by the master 1.
A series of processes from the “inquiry”, described above, to the establishment of synchronization is called “paging”.
In step S12, the master 1 requests the slave 1-1 to report the Bluetooth device name. A Bluetooth device name is assigned to each Bluetooth device, and the user can change the assignment.
A Bluetooth device name is used, for example, when the user who is operating the master selects the partner of communication. If the partner of communication needs to be selected by its Bluetooth address, the user needs to memorize the 48-bit numerals indicating the addresses of all Bluetooth devices existing in the Piconet.
When the slave 1-1 receives the request from the master 1 in step S38, the processing proceeds to step S39, and the slave 1-1 reports the assigned Bluetooth device name to the master 1.
In step S13, the master 1 receives the Bluetooth device name reported by the slave 1-1.
In step S14, the master 1 also requests the slave 1-2 to report the Bluetooth device name.
When the slave 1-2 receives the request from the master 1 in step S58, the processing proceeds to step S59, and the slave 1-2 reports the assigned Bluetooth device name to the master 1.
When the master 1 receives the report from the slave 1-2 in step S15, the processing proceeds to step S16, and the master 1 displays a screen for selecting a slave to be communicated with, in a display block. On this selection screen, the Bluetooth device names obtained in step S13 and step S15 are displayed. The user can use the selection screen to select a slave to be communicated with.
FIG. 4 is a view showing an example selection screen to be displayed on the Bluetooth device (master) after the establishment of synchronization.
As shown in the figure, a displayed selection window 1 is shown, and a master display block 11 in which information of the master operated by the user is indicated is provided at the left-hand side.
The master display block 11 is formed of a device-name display block 11A and an address display block 11B. The device-name display block 11A shows the Bluetooth device name of the master, and the address display block 11B shows the Bluetooth address of the master.
More specifically, the upper row of the device-name display block 11A indicates the category of the Bluetooth device of the master, and the lower row indicates the Bluetooth device name, which can be changed according to the user's desire. In this example case, the category of the master is set to “Computer” (personal computer), and the device name is set to “Computer for Red”.
Almost at the center of the selection window 1, profile selection buttons 12 are shown vertically. The use selects a profile for a slave. A profile specifies the communication method for a slave. In FIG. 4, eight profile selection buttons 12 are shown.
At the right-hand side of the selection window 1, slave display blocks 13 to 19 are shown. Each slave display block has a device-name display block and an address display block in the same way as for the master display block 11.
In the example case shown in FIG. 4, communication are currently being performed between the master and the slave indicated by the slave display block 16. In the slave display block 16, the category of the Bluetooth device is set to “Portable telephone” and the Bluetooth device name is set to “Portable telephone for Red”.
FIG. 5 is a view showing another example selection screen to be displayed on the Bluetooth device after the establishment of synchronization.
On a selection window 31, profiles are shown at the left-hand side, and the Bluetooth device names of slaves are shown with white arrows sandwiched between the profiles and the names. In this example case, the master can communicate, for example, with the slave (player for Black) indicated at the first row of the selection window 31 by Bluetooth using a profile for transmission of a music file.
When the Piconet has been established by the processes described above and communication are started, however, the user needs to specify the partner of communication although the Bluetooth devices with which communication can be made are listed as shown in FIG. 4 and FIG. 5.
After the user selects the partner of communication, the user further needs to select a profile according to the device of the partner.
As a system using Bluetooth, for example, a system has been proposed in which the charges for goods purchased at vending machines are paid by the use of portable telephones in which a Bluetooth module is built. It is expected that the partner of communication needs to be selected, as described above, even though its level of complication differs.
Therefore, compared with cases in which bills are actually used for payment, a purchase procedure for vending machines may become more troublesome.